package Controlador;

import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.Vector;

import Negocio.Cereal;
import Negocio.CerealView;
import Negocio.ItemMineral;
import Negocio.ItemMineralView;
import Negocio.Mineral;
import Negocio.MineralView;
import Negocio.Propietario;
import Negocio.PropietarioView;
import Negocio.VectorNegocio;

public  class Utils {
	
	private static Utils instancia;
	public static final String CONSTANTE_ACTIVO = "s";
	public static final String CONSTANTE_INACTIVO = "n";
	public static final String CONSTANTE_LOTE_SIMPLE = "s";
	public static final String CONSTANTE_LOTE_COMPUESTO = "c";
	public static final Integer CONSTANTE_COSECHAFINA = 0;
	public static final String CONSTANTE_PRIMARIO = "p";
	public static final String CONSTANTE_COMPLEMENTO = "c";
	public static final Integer CONSTANTE_INT_SIN_USO = 0;
	public static final Long CONSTANTE_LONG_SIN_USO = (long) 0;
	
	
	
	private Utils() {}
	
	
	public static Utils getInstancia()
	{
		if (instancia == null)
		{
			instancia =new Utils();
		}
		return instancia;
	}
	
	
	public Date castearFecha(String fecha)
	{
		SimpleDateFormat formatoTexto = new SimpleDateFormat("yyyyMMdd");
	try
	{
		Date ini = formatoTexto.parse(fecha);
		return ini;
	}
	catch(Exception e)
	{
		System.out.println(e.getMessage());
	}
	return null;
	}
	
	
	public Vector<ItemMineral> pasarVectorItem(Collection<ItemMineralView> minComp) {
		
		Vector <ItemMineral> res = new Vector<ItemMineral>();
		
		for (ItemMineralView i: minComp)
			res.add(new ItemMineral(i.getNroItem(),i.getMineral().getCodigo(),i.getPorcentaje(),i.getNroLote(),Utils.CONSTANTE_COMPLEMENTO));
		
		
		return res;
		
	}
	
	public Collection<ItemMineralView> pasarVectorItemView(Collection<ItemMineral> minComp) {
		
		Collection <ItemMineralView> res = new Vector<ItemMineralView>();
		
		for (ItemMineral i: minComp)
			res.add(i.getView());
		
		return res;
		
	}

	public Vector<MineralView> pasarVectorMineralView(VectorNegocio minerales) {
		Vector<MineralView> min = new Vector<MineralView>();
		for (Object c: minerales){
			Mineral m = (Mineral)c;
			min.add(m.getView());
		}
		return min;
	}



	public Vector<PropietarioView> pasarVectorPropiertarioView(
			VectorNegocio propietarios) {
		Vector<PropietarioView> vec = new Vector<PropietarioView>();
		for (Object o:propietarios){
			Propietario p = (Propietario)o;
			vec.add(p.getView());
		}
		return vec;
	}


	public Vector<CerealView> pasasrVectorCerealView(VectorNegocio cereal) {
		Vector<CerealView> vec = new Vector<CerealView>();
		for (Object o: cereal){
			Cereal c = (Cereal)o;
			vec.add(c.getView());
		}
		return vec;
	}

	


}
